// 引入store的工厂方法
import { createStore } from 'redux';
// react-redux connect

let store = createStore(/*reducers*/(state = { id: 1, isLoading: false },
     action = { type: '做什么事', payload: '数据们' }) => {
    // 对于state进行CRUD
    switch (action.type) {
        case 'changeLoading':
            // 不要在数据上修改, 基于不可变性, 每次返回一个新的对象
            // 不可变性的代码 更易于程序的健壮性, 同时保证了快照的回溯
            // state.isLoading = !state.isLoading; 
            return {
                ...state,
                isLoading: !state.isLoading
            }
        case 'changeLoadingBySelf':
            return {
                ...state,
                isLoading: action.payload.isLoading
            }
        // 组件获取当前值
        default:
            return state;
    }
});

export default store;